Boot Settings
 The boot settings tell the driver how to configure the cpu on boot.  The multiplier options are only useful for k6-2+ and k6-3+ cpus.  The write allocate options are useful for an amd k6-x cpu and the mtrr option can be used with most k6-2's, k6-3's and athlons


Editing the Boot Setting file
the amd-cpu file in the boot settings folder provides a template for setting up your boot settings.  Any option you don't want to use should be commented out.  In the boot setting file any line that begins with a # is treated as a comment and ignored.  Once you have configured the file as desired drag it to the drag amd-cpu setting here directory link


writealloc 
The write allocate option allows turning on the k6's write allocate.  Most bios will do this on boot but if you have upgraded your cpu and your bios doesn't recognize it then it won't be set.  Your cpu should have write allocate set to get full performance.

the format for writealloc is
writealloc number of megabytes of memory
eg. for a machine with 192 megabytes of memory
writealloc 192

writeallochole
The writeallochole option specifies whether you want to write allocate the 15-16 MB region of memory.  This area is used by some ISA devices.  If you are unsure whether you have devices using this region of memory don't turn this setting on

the format for writeallochole is
writeallochole true/false
eg.
writeallochole true


Multiplier Settings
The multiplier settings only work with the k6-2+ and k6-3+ cpus.  Unfortunately BeOS does not handle changing the multiplier very well so you probabley won't use them.  The number passed to these setting options is not the actual multiplier but an integer between 0 and 7 mapped as follows:

0 = 2.0x
1 = 3.0x
2 = 3.5x
3 = 4.0x
4 = 4.5x
5 = 5.0x
6 = 5.5x
7 = 6.0x

setmult
The setmult setting allows changing the multiplier of k6-x+ cpus on boot.  This allows up clocking the cpu if you have to boot at lower multiplier settings due to bios limitations.

maxmult
The maxmult setting provides a ceiling value for the increment multiplier call.  It should be used if your machine can not handle the full 6X multiplier available on the k6-x+ cpus.  On my machine this value is set to 5x since it crashes when the multiplier is set to 5.5x (this is due to running the cpu below spec at 1.8 volts to increase battery life).

The format of the maxmult setting is
maxmult number
eg.
maxmult 5


mtrr
The mtrr option allows setting the variable memory type range registers.  For the purpose of this driver the most likely use of them will be to set the video buffer to a write combining memory.  Other uses should be limited unless you know what you are doing.

The k6 series got 2 mtrr range register with k6-2 cx core, so not all k6-2's have mtrrs (if you are unsure whether your k6-2 has mtrrs use the test tool).  The k6 mtrr range registers start with a minimum range size of 128K and increment in powers of 2 (128, 256, ...).  The k6 series also only supports the following memory types: uncacheable (u) and write combining (c).

The athlon has 8 variable range registers.  They start with a minimum size of 4K and increase in size by powers of 2 (4, 8, 16...).  They support the full set of memory types: uncacheable (u), write combining (c), write through (t), write protect (p), write back (b).

The format for the mtrr setting is
mtrr mtrr# startofrange-endofrange,mode
where mtrr# is 0 or 1 for k6 cpus and 0-7 for athlons
eg:
mtrr 0 0xfd000000-0xfdffffff,c

To set your video frame buffer to write combining memory.
Go to the Be Menu and into Preferences
Select Devices
In the Devices Window find the entry labeled VGA and click on it.  It should highlight gray.
Look to the bottom of the Window where it says memory ranges and copy the larger of the ranges there.  The entry from my machine looks like:
Memory Ranges: 0xfd000000 - 0xfdffffff, 0xfc100000 - 0xfc100ff
So I would choose: 0xfd000000 - 0xfdffffff
put this range in amd-cpu's boot setting file
My setting looks like
mtrr 0 0xfd000000-0xfdffffff,c

The 0 is the mtrr register being used followed by the range followed by the mode c = write combining.
It is important to have the spacing as above or the setting might not work.
To see if your setting works save, reboot your machine and run the test program.

